package study1;

public class TraversalTest {
    public static void main(String[] args) {
        // 1. 创建遍历器实例
        PreorderInorderPostorderTraversal traverser = new PreorderInorderPostorderTraversal();

        // 2. 创建二叉树结构
        // 使用遍历器对象的createTree()方法构建二叉树
        PreorderInorderPostorderTraversal.TreeNode root = traverser.createTree();

        // 3. 前序遍历测试
        System.out.println("前序遍历结果:");
        traverser.preOrder(root); // 调用前序遍历方法
        // A B D E H C F G
        System.out.println("\n-------------------"); // 分隔线

        // 4. 中序遍历测试
        System.out.println("中序遍历结果:");
        traverser.inOrder(root);  // 调用中序遍历方法
        // D B E H A F C G
        System.out.println("\n-------------------"); // 分隔线

        // 5. 后序遍历测试
        System.out.println("后序遍历结果:");
        traverser.postOrder(root); // 调用后序遍历方法
        // D H E B F G C A
        System.out.println("\n-------------------"); // 分隔线

        // 6. 输出树结构图示
        System.out.println("二叉树结构图示:");
        System.out.println("      A");
        System.out.println("     / \\");
        System.out.println("    B   C");
        System.out.println("   / \\ / \\");
        System.out.println("  D  E F  G");
        System.out.println("      \\");
        System.out.println("      H");
    }
}